﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using FbKPI.Facade;
using FbKPI.Model;

namespace FBKPI.Forms
{
    public partial class MethodKPI : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    ddlMethod.Items.Clear();
                    if (Context.Request.Params["periode"].ToString().Trim().ToLower().Contains("weekly"))
                    {
                        ddlMethod.Items.Add(new ListItem("---pilih----", "0"));
                        ddlMethod.Items.Add(new ListItem("Weekly", "5"));
                    }
                    else
                    {

                        ddlMethod.Items.Add(new ListItem("---pilih----", "0"));
                        ddlMethod.Items.Add(new ListItem("Yearly", "1"));
                        ddlMethod.Items.Add(new ListItem("Semester", "2"));
                        ddlMethod.Items.Add(new ListItem("Quarter", "3"));
                        ddlMethod.Items.Add(new ListItem("Tri Wulan", "4"));
                    }


                    hfKpiId.Value = Context.Request.Params["KpiId"];
                    hfStatusData.Value = "0";
                    KPIMethodFacade kf = new KPIMethodFacade();
                    KPIMethod obj = kf.GetByKpiId(Convert.ToInt32(hfKpiId.Value));
                    if (obj != null)
                    {
                        //chkOnlyOne.Checked=obj.isOneSelection;
                        ddlMethod.Items.FindByValue(obj.MethodID.ToString()).Selected = true;
                        hfStatusData.Value = "1";

                        List<KPIMethod> list = kf.GetListByKpiId(obj.KpiId);
                        UoMFacade UoMFacade = new UoMFacade();
                        UoMDetailFacade UoMDetailFacade = new UoMDetailFacade();
                        UoM objUoM = new UoM();
                        UoMDetail objUoMDetail = new UoMDetail();
                        foreach (KPIMethod data in list)
                        {
                            //==yearly
                            if (data.MethodID == 1)
                            {
                                if (data.UoMID != 0)
                                {
                                    txt_uomidYearly.Value = data.UoMID.ToString();
                                    objUoM = UoMFacade.GetUoMByID(data.UoMID);
                                    txt_uomYearly.Text = objUoM.Description;
                                }

                                if (data.UoMDetailIDMax != 0)
                                {
                                    txt_uommaxidYearly.Value = data.UoMDetailIDMax.ToString();
                                    objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMax);
                                    txt_uommaxYearly.Text = objUoMDetail.Description;
                                }

                                if (data.UoMDetailIDMin != 0)
                                {
                                    txt_uomminidYearly.Value = data.UoMDetailIDMin.ToString();
                                    objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMin);
                                    txt_uomminYearly.Text = objUoMDetail.Description;
                                }

                                txtPrecentageMaxYearly.Text = data.PercentageMax.ToString();
                                txtPrecentageMinYearly.Text = data.PercentageMin.ToString();
                                break;
                            }

                            //===

                            //==semester
                            if (data.MethodID == 2)
                            {
                                if (data.MethodDetail.MethodDtlName.ToLower().Contains("jan"))
                                {
                                    if (data.UoMID != 0)
                                    {
                                        txt_uomidSemester1.Value = data.UoMID.ToString();
                                        objUoM = UoMFacade.GetUoMByID(data.UoMID);
                                        txt_uomSemester1.Text = objUoM.Description;
                                    }

                                    if (data.UoMDetailIDMax != 0)
                                    {
                                        txt_uommaxidSemester1.Value = data.UoMDetailIDMax.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMax);
                                        txt_uommaxSemester1.Text = objUoMDetail.Description;
                                    }

                                    if (data.UoMDetailIDMin != 0)
                                    {
                                        txt_uomminidSemester1.Value = data.UoMDetailIDMin.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMin);
                                        txt_uomminSemester1.Text = objUoMDetail.Description;
                                    }

                                    txtPrecentageMaxSemester1.Text = data.PercentageMax.ToString();
                                    txtPrecentageMinSemester1.Text = data.PercentageMin.ToString();
                                }

                                if (data.MethodDetail.MethodDtlName.ToLower().Contains("jul"))
                                {
                                    if (data.UoMID != 0)
                                    {
                                        txt_uomidSemester2.Value = data.UoMID.ToString();
                                        objUoM = UoMFacade.GetUoMByID(data.UoMID);
                                        txt_uomSemester2.Text = objUoM.Description;
                                    }

                                    if (data.UoMDetailIDMax != 0)
                                    {
                                        txt_uommaxidSemester2.Value = data.UoMDetailIDMax.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMax);
                                        txt_uommaxSemester2.Text = objUoMDetail.Description;
                                    }

                                    if (data.UoMDetailIDMin != 0)
                                    {
                                        txt_uomminidSemester2.Value = data.UoMDetailIDMin.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMin);
                                        txt_uomminSemester2.Text = objUoMDetail.Description;
                                    }

                                    txtPrecentageMaxSemester2.Text = data.PercentageMax.ToString();
                                    txtPrecentageMinSemester2.Text = data.PercentageMin.ToString();
                                }

                            }
                            //===

                            //==quarter
                            if (data.MethodID == 3)
                            {
                                if (data.MethodDetail.MethodDtlName.ToLower().Contains("jan"))
                                {
                                    if (data.UoMID != 0)
                                    {
                                        txt_uomidQ1.Value = data.UoMID.ToString();
                                        objUoM = UoMFacade.GetUoMByID(data.UoMID);
                                        txt_uomQ1.Text = objUoM.Description;
                                    }

                                    if (data.UoMDetailIDMax != 0)
                                    {
                                        txt_uommaxidQ1.Value = data.UoMDetailIDMax.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMax);
                                        txt_uommaxQ1.Text = objUoMDetail.Description;
                                    }

                                    if (data.UoMDetailIDMin != 0)
                                    {
                                        txt_uomminidQ1.Value = data.UoMDetailIDMin.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMin);
                                        txt_uomminQ1.Text = objUoMDetail.Description;
                                    }

                                    txtPrecentageMaxQ1.Text = data.PercentageMax.ToString();
                                    txtPrecentageMinQ1.Text = data.PercentageMin.ToString();
                                }

                                if (data.MethodDetail.MethodDtlName.ToLower().Contains("apr"))
                                {
                                    if (data.UoMID != 0)
                                    {
                                        txt_uomidQ2.Value = data.UoMID.ToString();
                                        objUoM = UoMFacade.GetUoMByID(data.UoMID);
                                        txt_uomQ2.Text = objUoM.Description;
                                    }

                                    if (data.UoMDetailIDMax != 0)
                                    {
                                        txt_uommaxidQ2.Value = data.UoMDetailIDMax.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMax);
                                        txt_uommaxQ2.Text = objUoMDetail.Description;
                                    }

                                    if (data.UoMDetailIDMin != 0)
                                    {
                                        txt_uomminidQ2.Value = data.UoMDetailIDMin.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMin);
                                        txt_uomminQ2.Text = objUoMDetail.Description;
                                    }

                                    txtPrecentageMaxQ2.Text = data.PercentageMax.ToString();
                                    txtPrecentageMinQ2.Text = data.PercentageMin.ToString();
                                }

                                if (data.MethodDetail.MethodDtlName.ToLower().Contains("jul"))
                                {
                                    if (data.UoMID != 0)
                                    {
                                        txt_uomidQ3.Value = data.UoMID.ToString();
                                        objUoM = UoMFacade.GetUoMByID(data.UoMID);
                                        txt_uomQ3.Text = objUoM.Description;
                                    }

                                    if (data.UoMDetailIDMax != 0)
                                    {
                                        txt_uommaxidQ3.Value = data.UoMDetailIDMax.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMax);
                                        txt_uommaxQ3.Text = objUoMDetail.Description;
                                    }

                                    if (data.UoMDetailIDMin != 0)
                                    {
                                        txt_uomminidQ3.Value = data.UoMDetailIDMin.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMin);
                                        txt_uomminQ3.Text = objUoMDetail.Description;
                                    }

                                    txtPrecentageMaxQ3.Text = data.PercentageMax.ToString();
                                    txtPrecentageMinQ3.Text = data.PercentageMin.ToString();
                                }

                                if (data.MethodDetail.MethodDtlName.ToLower().Contains("oct"))
                                {
                                    if (data.UoMID != 0)
                                    {
                                        txt_uomidQ4.Value = data.UoMID.ToString();
                                        objUoM = UoMFacade.GetUoMByID(data.UoMID);
                                        txt_uomQ4.Text = objUoM.Description;
                                    }

                                    if (data.UoMDetailIDMax != 0)
                                    {
                                        txt_uommaxidQ4.Value = data.UoMDetailIDMax.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMax);
                                        txt_uommaxQ4.Text = objUoMDetail.Description;
                                    }

                                    if (data.UoMDetailIDMin != 0)
                                    {
                                        txt_uomminidQ4.Value = data.UoMDetailIDMin.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMin);
                                        txt_uomminQ4.Text = objUoMDetail.Description;
                                    }

                                    txtPrecentageMaxQ4.Text = data.PercentageMax.ToString();
                                    txtPrecentageMinQ4.Text = data.PercentageMin.ToString();
                                }

                            }
                            //==

                            //==quarter
                            if (data.MethodID == 4)
                            {
                                if (data.MethodDetail.MethodDtlName.ToLower().Contains("jan"))
                                {
                                    if (data.UoMID != 0)
                                    {
                                        txt_uomidTriwulan1.Value = data.UoMID.ToString();
                                        objUoM = UoMFacade.GetUoMByID(data.UoMID);
                                        txt_uomTriwulan1.Text = objUoM.Description;
                                    }

                                    if (data.UoMDetailIDMax != 0)
                                    {
                                        txt_uommaxidTriwulan1.Value = data.UoMDetailIDMax.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMax);
                                        txt_uommaxTriwulan1.Text = objUoMDetail.Description;
                                    }

                                    if (data.UoMDetailIDMin != 0)
                                    {
                                        txt_uomminidTriwulan1.Value = data.UoMDetailIDMin.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMin);
                                        txt_uomminTriwulan1.Text = objUoMDetail.Description;
                                    }

                                    txtPrecentageMaxTriwulan1.Text = data.PercentageMax.ToString();
                                    txtPrecentageMinTriwulan1.Text = data.PercentageMin.ToString();
                                }

                                if (data.MethodDetail.MethodDtlName.ToLower().Contains("may"))
                                {
                                    if (data.UoMID != 0)
                                    {
                                        txt_uomidTriwulan2.Value = data.UoMID.ToString();
                                        objUoM = UoMFacade.GetUoMByID(data.UoMID);
                                        txt_uomTriwulan2.Text = objUoM.Description;
                                    }

                                    if (data.UoMDetailIDMax != 0)
                                    {
                                        txt_uommaxidTriwulan2.Value = data.UoMDetailIDMax.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMax);
                                        txt_uommaxTriwulan2.Text = objUoMDetail.Description;
                                    }

                                    if (data.UoMDetailIDMin != 0)
                                    {
                                        txt_uomminidTriwulan2.Value = data.UoMDetailIDMin.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMin);
                                        txt_uomminTriwulan2.Text = objUoMDetail.Description;
                                    }

                                    txtPrecentageMaxTriwulan2.Text = data.PercentageMax.ToString();
                                    txtPrecentageMinTriwulan2.Text = data.PercentageMin.ToString();
                                }

                                if (data.MethodDetail.MethodDtlName.ToLower().Contains("sep"))
                                {
                                    if (data.UoMID != 0)
                                    {
                                        txt_uomidTriwulan3.Value = data.UoMID.ToString();
                                        objUoM = UoMFacade.GetUoMByID(data.UoMID);
                                        txt_uomTriwulan3.Text = objUoM.Description;
                                    }

                                    if (data.UoMDetailIDMax != 0)
                                    {
                                        txt_uommaxidTriwulan3.Value = data.UoMDetailIDMax.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMax);
                                        txt_uommaxTriwulan3.Text = objUoMDetail.Description;
                                    }

                                    if (data.UoMDetailIDMin != 0)
                                    {
                                        txt_uomminidTriwulan3.Value = data.UoMDetailIDMin.ToString();
                                        objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMin);
                                        txt_uomminTriwulan3.Text = objUoMDetail.Description;
                                    }

                                    txtPrecentageMaxTriwulan3.Text = data.PercentageMax.ToString();
                                    txtPrecentageMinTriwulan3.Text = data.PercentageMin.ToString();
                                }



                            }
                            //==

                            ////==weekly
                            if (data.MethodID == 5)
                            {
                                if (data.UoMID != 0)
                                {
                                    txt_uomidWeekly.Value = data.UoMID.ToString();
                                    objUoM = UoMFacade.GetUoMByID(data.UoMID);
                                    txt_uomWeekly.Text = objUoM.Description;
                                }

                                if (data.UoMDetailIDMax != 0)
                                {
                                    txt_uommaxidWeekly.Value = data.UoMDetailIDMax.ToString();
                                    objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMax);
                                    txt_uommaxWeekly.Text = objUoMDetail.Description;
                                }

                                if (data.UoMDetailIDMin != 0)
                                {
                                    txt_uomminidWeekly.Value = data.UoMDetailIDMin.ToString();
                                    objUoMDetail = UoMDetailFacade.GetUoMDetailByID(data.UoMDetailIDMin);
                                    txt_uomminWeekly.Text = objUoMDetail.Description;
                                }

                                txtPrecentageMaxWeekly.Text = data.PercentageMax.ToString();
                                txtPrecentageMinWeekly.Text = data.PercentageMin.ToString();
                                break;
                            }

                            //===
                        }
                    }
                }
            }
            catch
            {
            }
        }
    }
}